#ifndef BTREEMAP_H
#define BTREEMAP_H

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include "../imu_track/complementary_filter.h"

// 定义 BTreeNode 结构体
typedef struct BTreeNode {
    int64_t key;
    union {
        double float_value;
        Vector3 vector_value;
        Quaternion quaternion_value;
    } value;
    struct BTreeNode* left;
    struct BTreeNode* right;
} BTreeNode;

// 定义 BTreeMap 结构体（模拟 BTreeMap<i64, T>）
typedef struct {
    BTreeNode* root;
} BTreeMap;

// 初始化 BTreeMap
BTreeMap* init_btree_map();

// 释放 BTreeNode 内存的递归函数
void free_btree_node(BTreeNode* node);

// 释放 BTreeMap 内存
void free_btree_map(BTreeMap* map);



#endif
